#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "gamemodel.h"//包含游戏类型类头文件

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);//构造函数
    ~MainWindow();//析构函数

protected:
    // 绘制
    void paintEvent(QPaintEvent *event);
    // 监听鼠标移动情况，方便落子，即跟随鼠标移动来改变可能落子位置
    void mouseMoveEvent(QMouseEvent *event);
    // 实际落子，鼠标点击后落子位置
    void mouseReleaseEvent(QMouseEvent *event);

private:
    GameModel *game; // 游戏指针
    GameType game_type; // 存储游戏类型，person还是AI模式
    int clickPosRow, clickPosCol; // 存储将点击的位置，即确定横纵坐标（行列坐标）
    void initGame();
    void checkGame(int y, int x);

private slots://槽
    void chessOneByPerson(); // 人执行
    void chessOneByAI(); // AI下棋

    void initPVPGame();//初始化游戏
    void initPVEGame();//初始化游戏
};

#endif // MAINWINDOW_H
